﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace PubSubLite.Configuration
{
    /// <summary>
    /// A logger that can be appended to PubSubLite.
    /// </summary>
    public interface IBusLogger
    {
        /// <summary>
        /// Logs an exception
        /// </summary>
        /// <param name="ex">The exception to log</param>
        void LogException(Exception ex);
        /// <summary>
        /// Logs a warning
        /// </summary>
        /// <param name="warning">The warning to log</param>
        void LogWarning(string warning);
        /// <summary>
        /// Logs info
        /// </summary>
        /// <param name="info">The info to log</param>
        void LogInfo(string info);
        /// <summary>
        /// Logs Debug info
        /// </summary>
        /// <param name="info"></param>
        void Debug(string info);
    }
}
